<?php
class Mailing extends CActiveRecord {
    
    public $text;
    public $subject;
    public $date;
    public $emails;
    
    public static function model($className = __CLASS__) {
        return parent::model($className);
    }

    public function tableName() {
        return 'mailer';
    }
    
    public function beforeValidate() {
        if(!parent::beforeValidate()) return false;
        $this->attributes = !empty($_POST[get_class($this)]) ? $_POST[get_class($this)] : array();
        return true;
    }
    
    public function attributeLabels() {
        return array(
            'text' => 'Текст сообщения',
            'subject' => 'Тема сообщения',
            'date' => 'Время начала рассылки',
            'emails' => 'Список email-ов'
        );
    }
    
    public function rules() {
        return array(
            array('text, subject, emails, date', 'required', 'message' => '{attribute} не может быть пустым'),
            array('date', 'type', 'type' => 'date', 'message' => 'Не верный формат даты', 'dateFormat' => 'dd.MM.yyyy H:m'),
        );
    }
    
    public function afterFind() {
        $this->date = date("d.m.y H:i", $this->date);
    }
    
    public function beforeSave() {
        if(!parent::beforeSave()) return false;
        $date = explode(' ', $this->date);
        $hourMin = explode(':', $date[1]);
        $dayMounthYear = explode('.', $date[0]);
                
        $this->date = mktime($hourMin[0], $hourMin[1], '0', $dayMounthYear[1], $dayMounthYear[0], $dayMounthYear[2]);
        return true;
    }
}
